import { defineStore } from 'pinia'

export const useAppStore = defineStore('app', {
  // state, 需要使用函数，返回对象的形式，可能让 $reset 生效
  state() {
    return {
      count: 10,
      msg: 'hello',
      cart: ['香蕉'], // 购物车数据
    }
  },

  actions: {
    increment() {
      this.count++
    },

    decrement() {
      throw new Error('错了')
    },

    // 用于添加一个商品到购物车
    addCart() {
      const nowLength = this.cart.length
      // 为了让页面响应更快，可以直接先将商品追加到 cart 中，然后调用接口去同步数据库
      this.cart.push('苹果')

      // 调用接口
      return new Promise((resolve, reject) => {
        setTimeout(() => {
          reject('同步数据库失败了')
        }, 1000)
      })
    },
  },
})
